package ink.yql.model;

import java.io.Serializable;

/**
 * @author YQL
 * 回报类
 */
public class Returns implements Serializable {
    /**
     *回报id
     */
    private Integer rid;
    /**
     *项目id
     */
    private Integer pid;
    /**
     * 回报金额
     */
    private Double rmoney;
    /**
     * 回报标题
     */
    private String rtitle;
    /**
     *回报描述
     */
    private String rdescription;
    /**
     *发放时间
     */
    private String rgiveTime;
    /**
     *发放方式
     */
    private String rgiveType ;
    /**
     * 是否包邮 0不包邮 1包邮
     */
    private Integer rfreeShippin;
    /**
     * 是否早鸟档 0不是 1是
     */
    private Integer rearlyBird;
    /**
     *开始时间
     */
    private String rstartTime;
    /**
     * 结束时间
     */
    private String rendTime;
    /**
     * 备注
     */
    private String rremark;
    /**
     * 0不是必须备注 1必须备注
     */
    private Integer risRemark;


    public Returns(Integer rid, Integer pid, Double rmoney, String rtitle, String rdescription, String rgiveTime, String rgiveType, Integer rfreeShippin, Integer rearlyBird, String rstartTime, String rendTime, String rremark, Integer risRemark) {
        this.rid = rid;
        this.pid = pid;
        this.rmoney = rmoney;
        this.rtitle = rtitle;
        this.rdescription = rdescription;
        this.rgiveTime = rgiveTime;
        this.rgiveType = rgiveType;
        this.rfreeShippin = rfreeShippin;
        this.rearlyBird = rearlyBird;
        this.rstartTime = rstartTime;
        this.rendTime = rendTime;
        this.rremark = rremark;
        this.risRemark = risRemark;
    }

    public Returns() {
    }

    public static ReturnsBuilder builder() {
        return new ReturnsBuilder();
    }

    public Integer getRid() {
        return this.rid;
    }

    public Integer getPid() {
        return this.pid;
    }

    public Double getRmoney() {
        return this.rmoney;
    }

    public String getRtitle() {
        return this.rtitle;
    }

    public String getRdescription() {
        return this.rdescription;
    }

    public String getRgiveTime() {
        return this.rgiveTime;
    }

    public String getRgiveType() {
        return this.rgiveType;
    }

    public Integer getRfreeShippin() {
        return this.rfreeShippin;
    }

    public Integer getRearlyBird() {
        return this.rearlyBird;
    }

    public String getRstartTime() {
        return this.rstartTime;
    }

    public String getRendTime() {
        return this.rendTime;
    }

    public String getRremark() {
        return this.rremark;
    }

    public Integer getRisRemark() {
        return this.risRemark;
    }

    public void setRid(Integer rid) {
        this.rid = rid;
    }

    public void setPid(Integer pid) {
        this.pid = pid;
    }

    public void setRmoney(Double rmoney) {
        this.rmoney = rmoney;
    }

    public void setRtitle(String rtitle) {
        this.rtitle = rtitle;
    }

    public void setRdescription(String rdescription) {
        this.rdescription = rdescription;
    }

    public void setRgiveTime(String rgiveTime) {
        this.rgiveTime = rgiveTime;
    }

    public void setRgiveType(String rgiveType) {
        this.rgiveType = rgiveType;
    }

    public void setRfreeShippin(Integer rfreeShippin) {
        this.rfreeShippin = rfreeShippin;
    }

    public void setRearlyBird(Integer rearlyBird) {
        this.rearlyBird = rearlyBird;
    }

    public void setRstartTime(String rstartTime) {
        this.rstartTime = rstartTime;
    }

    public void setRendTime(String rendTime) {
        this.rendTime = rendTime;
    }

    public void setRremark(String rremark) {
        this.rremark = rremark;
    }

    public void setRisRemark(Integer risRemark) {
        this.risRemark = risRemark;
    }

    public boolean equals(final Object o) {
        if (o == this) return true;
        if (!(o instanceof Returns)) return false;
        final Returns other = (Returns) o;
        if (!other.canEqual((Object) this)) return false;
        final Object this$rid = this.getRid();
        final Object other$rid = other.getRid();
        if (this$rid == null ? other$rid != null : !this$rid.equals(other$rid)) return false;
        final Object this$pid = this.getPid();
        final Object other$pid = other.getPid();
        if (this$pid == null ? other$pid != null : !this$pid.equals(other$pid)) return false;
        final Object this$rmoney = this.getRmoney();
        final Object other$rmoney = other.getRmoney();
        if (this$rmoney == null ? other$rmoney != null : !this$rmoney.equals(other$rmoney)) return false;
        final Object this$rtitle = this.getRtitle();
        final Object other$rtitle = other.getRtitle();
        if (this$rtitle == null ? other$rtitle != null : !this$rtitle.equals(other$rtitle)) return false;
        final Object this$rdescription = this.getRdescription();
        final Object other$rdescription = other.getRdescription();
        if (this$rdescription == null ? other$rdescription != null : !this$rdescription.equals(other$rdescription))
            return false;
        final Object this$rgiveTime = this.getRgiveTime();
        final Object other$rgiveTime = other.getRgiveTime();
        if (this$rgiveTime == null ? other$rgiveTime != null : !this$rgiveTime.equals(other$rgiveTime)) return false;
        final Object this$rgiveType = this.getRgiveType();
        final Object other$rgiveType = other.getRgiveType();
        if (this$rgiveType == null ? other$rgiveType != null : !this$rgiveType.equals(other$rgiveType)) return false;
        final Object this$rfreeShippin = this.getRfreeShippin();
        final Object other$rfreeShippin = other.getRfreeShippin();
        if (this$rfreeShippin == null ? other$rfreeShippin != null : !this$rfreeShippin.equals(other$rfreeShippin))
            return false;
        final Object this$rearlyBird = this.getRearlyBird();
        final Object other$rearlyBird = other.getRearlyBird();
        if (this$rearlyBird == null ? other$rearlyBird != null : !this$rearlyBird.equals(other$rearlyBird))
            return false;
        final Object this$rstartTime = this.getRstartTime();
        final Object other$rstartTime = other.getRstartTime();
        if (this$rstartTime == null ? other$rstartTime != null : !this$rstartTime.equals(other$rstartTime))
            return false;
        final Object this$rendTime = this.getRendTime();
        final Object other$rendTime = other.getRendTime();
        if (this$rendTime == null ? other$rendTime != null : !this$rendTime.equals(other$rendTime)) return false;
        final Object this$rremark = this.getRremark();
        final Object other$rremark = other.getRremark();
        if (this$rremark == null ? other$rremark != null : !this$rremark.equals(other$rremark)) return false;
        final Object this$risRemark = this.getRisRemark();
        final Object other$risRemark = other.getRisRemark();
        if (this$risRemark == null ? other$risRemark != null : !this$risRemark.equals(other$risRemark)) return false;
        return true;
    }

    protected boolean canEqual(final Object other) {
        return other instanceof Returns;
    }

    public int hashCode() {
        final int PRIME = 59;
        int result = 1;
        final Object $rid = this.getRid();
        result = result * PRIME + ($rid == null ? 43 : $rid.hashCode());
        final Object $pid = this.getPid();
        result = result * PRIME + ($pid == null ? 43 : $pid.hashCode());
        final Object $rmoney = this.getRmoney();
        result = result * PRIME + ($rmoney == null ? 43 : $rmoney.hashCode());
        final Object $rtitle = this.getRtitle();
        result = result * PRIME + ($rtitle == null ? 43 : $rtitle.hashCode());
        final Object $rdescription = this.getRdescription();
        result = result * PRIME + ($rdescription == null ? 43 : $rdescription.hashCode());
        final Object $rgiveTime = this.getRgiveTime();
        result = result * PRIME + ($rgiveTime == null ? 43 : $rgiveTime.hashCode());
        final Object $rgiveType = this.getRgiveType();
        result = result * PRIME + ($rgiveType == null ? 43 : $rgiveType.hashCode());
        final Object $rfreeShippin = this.getRfreeShippin();
        result = result * PRIME + ($rfreeShippin == null ? 43 : $rfreeShippin.hashCode());
        final Object $rearlyBird = this.getRearlyBird();
        result = result * PRIME + ($rearlyBird == null ? 43 : $rearlyBird.hashCode());
        final Object $rstartTime = this.getRstartTime();
        result = result * PRIME + ($rstartTime == null ? 43 : $rstartTime.hashCode());
        final Object $rendTime = this.getRendTime();
        result = result * PRIME + ($rendTime == null ? 43 : $rendTime.hashCode());
        final Object $rremark = this.getRremark();
        result = result * PRIME + ($rremark == null ? 43 : $rremark.hashCode());
        final Object $risRemark = this.getRisRemark();
        result = result * PRIME + ($risRemark == null ? 43 : $risRemark.hashCode());
        return result;
    }

    public String toString() {
        return "Returns(rid=" + this.getRid() + ", pid=" + this.getPid() + ", rmoney=" + this.getRmoney() + ", rtitle=" + this.getRtitle() + ", rdescription=" + this.getRdescription() + ", rgiveTime=" + this.getRgiveTime() + ", rgiveType=" + this.getRgiveType() + ", rfreeShippin=" + this.getRfreeShippin() + ", rearlyBird=" + this.getRearlyBird() + ", rstartTime=" + this.getRstartTime() + ", rendTime=" + this.getRendTime() + ", rremark=" + this.getRremark() + ", risRemark=" + this.getRisRemark() + ")";
    }

    public static class ReturnsBuilder {
        private Integer rid;
        private Integer pid;
        private Double rmoney;
        private String rtitle;
        private String rdescription;
        private String rgiveTime;
        private String rgiveType;
        private Integer rfreeShippin;
        private Integer rearlyBird;
        private String rstartTime;
        private String rendTime;
        private String rremark;
        private Integer risRemark;

        ReturnsBuilder() {
        }

        public Returns.ReturnsBuilder rid(Integer rid) {
            this.rid = rid;
            return this;
        }

        public Returns.ReturnsBuilder pid(Integer pid) {
            this.pid = pid;
            return this;
        }

        public Returns.ReturnsBuilder rmoney(Double rmoney) {
            this.rmoney = rmoney;
            return this;
        }

        public Returns.ReturnsBuilder rtitle(String rtitle) {
            this.rtitle = rtitle;
            return this;
        }

        public Returns.ReturnsBuilder rdescription(String rdescription) {
            this.rdescription = rdescription;
            return this;
        }

        public Returns.ReturnsBuilder rgiveTime(String rgiveTime) {
            this.rgiveTime = rgiveTime;
            return this;
        }

        public Returns.ReturnsBuilder rgiveType(String rgiveType) {
            this.rgiveType = rgiveType;
            return this;
        }

        public Returns.ReturnsBuilder rfreeShippin(Integer rfreeShippin) {
            this.rfreeShippin = rfreeShippin;
            return this;
        }

        public Returns.ReturnsBuilder rearlyBird(Integer rearlyBird) {
            this.rearlyBird = rearlyBird;
            return this;
        }

        public Returns.ReturnsBuilder rstartTime(String rstartTime) {
            this.rstartTime = rstartTime;
            return this;
        }

        public Returns.ReturnsBuilder rendTime(String rendTime) {
            this.rendTime = rendTime;
            return this;
        }

        public Returns.ReturnsBuilder rremark(String rremark) {
            this.rremark = rremark;
            return this;
        }

        public Returns.ReturnsBuilder risRemark(Integer risRemark) {
            this.risRemark = risRemark;
            return this;
        }

        public Returns build() {
            return new Returns(rid, pid, rmoney, rtitle, rdescription, rgiveTime, rgiveType, rfreeShippin, rearlyBird, rstartTime, rendTime, rremark, risRemark);
        }

        public String toString() {
            return "Returns.ReturnsBuilder(rid=" + this.rid + ", pid=" + this.pid + ", rmoney=" + this.rmoney + ", rtitle=" + this.rtitle + ", rdescription=" + this.rdescription + ", rgiveTime=" + this.rgiveTime + ", rgiveType=" + this.rgiveType + ", rfreeShippin=" + this.rfreeShippin + ", rearlyBird=" + this.rearlyBird + ", rstartTime=" + this.rstartTime + ", rendTime=" + this.rendTime + ", rremark=" + this.rremark + ", risRemark=" + this.risRemark + ")";
        }
    }
}
